&& logical_font->elfLogFont.lfCharSet != DEFAULT_CHARSET
&& logical_font->elfLogFont.lfCharSet != ANSI_CHARSET)
return 1;
- /* unicode-sip fonts must contain characters beyond the BMP. */
+ /* unicode-sip fonts must contain characters beyond the BMP,
+ so look for bit 57 (surrogates) in the Unicode subranges. */
else if (EQ (spec_charset, Qunicode_sip)
&& !(physical_font->ntmFontSig.fsUsb[1] & 0x02000000))
return 1;